Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restyle Introduce a RNG determinism audit #10461

Closed
wants to merge 3 commits into from

Conversation

restyled-io[bot]
Copy link
Contributor

@restyled-io restyled-io bot commented Oct 13, 2021

A duplicate of #10456 with additional commits that automatically address
incorrect style, created by Restyled.

⚠️ Even though this PR is not a Fork, it contains outside contributions.
Please review accordingly.

Since the original Pull Request was opened as a fork in a contributor's
repository, we are unable to create a Pull Request branching from it with only
the style fixes.

The following Restylers made fixes:

To incorporate these changes, you can either:

  1. Merge this Pull Request instead of the original, or

  2. Ask your contributor to locally incorporate these commits and push them to
    the original Pull Request

    Expand for example instructions
    ```console
    git remote add upstream https://github.com/project-chip/connectedhomeip.git
    git fetch upstream pull/<this PR number>/head
    git merge --ff-only FETCH_HEAD
    git push
    ```
    

NOTE: As work continues on the original Pull Request, this process will
re-run and update (force-push) this Pull Request with updated style fixes as
necessary. If the style is fixed manually at any point (i.e. this process finds
no fixes to make), this Pull Request will be closed automatically.

Sorry if this was unexpected. To disable it, see our documentation.

tcarmelveilleux and others added 3 commits October 13, 2021 12:53
- Add a temporary audit function in ExchangeMgr.cpp.
- ExchangeMgr.cpp is used because it is used by both
  `DeviceController` and `Server` (i.e. by all modalities)
  and it already relies on random numbers.
- Audit must be run manually since it needs to be done on targets
  and comparisons across reboot.
- Audit validates `GetRandU*` and `Crypto::DRBG_get_bytes()`,
  which may both use different underlying impl.

Testing done:

- Unit tests pass
- Manually tested on Linux by commenting-out `srand(seed);` in
  Entropy.cpp, which forces `GetRandU*` to give the same values
  across calls.
- If you are testing this, search for lines starting with `AUDIT:`
  in the log.

Issue #10454
- InitEntropy is in `GenericPlatformManagerImpl` and should always
  be called. Lack of the logs will help catch bad init.
@restyled-io restyled-io bot added the restyled label Oct 13, 2021
@todo
Copy link

todo bot commented Oct 13, 2021

remove once #10454 is done.

// TODO: remove once https://github.com/project-chip/connectedhomeip/issues/10454 is done.
#if 1
#include <lib/support/BytesToHex.h>
#endif
namespace chip {
namespace {
// Audit random number generator proper initialization with prints.
// TODO: remove once https://github.com/project-chip/connectedhomeip/issues/10454 is done.


This comment was generated by todo based on a TODO comment in b5cd773 in #10461. cc @project-chip.

@todo
Copy link

todo bot commented Oct 13, 2021

remove once #10454 is done.

// TODO: remove once https://github.com/project-chip/connectedhomeip/issues/10454 is done.
void TemporaryAuditRandomNumberGenerator()
{
uint8_t buf1[16];
uint8_t buf2[16];
memset(&buf1[0], 0, sizeof(buf1));
memset(&buf2[0], 0, sizeof(buf2));
VerifyOrDie(chip::Crypto::DRBG_get_bytes(&buf1[0], sizeof(buf1)) == CHIP_NO_ERROR);
VerifyOrDie(chip::Crypto::DRBG_get_bytes(&buf2[0], sizeof(buf2)) == CHIP_NO_ERROR);


This comment was generated by todo based on a TODO comment in b5cd773 in #10461. cc @project-chip.

@todo
Copy link

todo bot commented Oct 13, 2021

remove once #10454 is done.

// TODO: remove once https://github.com/project-chip/connectedhomeip/issues/10454 is done.
TemporaryAuditRandomNumberGenerator();
}
return CHIP_NO_ERROR;
}


This comment was generated by todo based on a TODO comment in b5cd773 in #10461. cc @project-chip.

@restyled-io restyled-io bot closed this Oct 13, 2021
@restyled-io restyled-io bot deleted the restyled/pull-10456 branch October 13, 2021 19:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants